public class MathAndMethodCall{
	
	public static void main(String[] args){
		System.out.println(2 + 1);//[1]:3
		System.out.println(new Second().f1(1, 2, true));//[5]:10

        // uncomment it if you want to check catching void parameters
//		System.out.println(
                new Second().f2()
//                )
                ;
		System.out.println(new Second().f3());//[19]:47
		System.out.println(0);//[20]:0
	}
}

class Second {
	
	int f1(int i1, int i2, boolean b1){
		System.out.println(i1);//[2]:1 //[6]:2
		System.out.println(i2);//[3]:2 //[7]:4
		System.out.println(b1);//[4]:1 //[8]:1
		return 10;
	}
	
	void f2(){
        System.out.println(//[9]:10
                f1(2, 4, 1 + 3 * 4 - 6 / 2 < 1 + 3 * 4 && 3 * 4 - 2 > 0 - 6 / 3 || !false));
        System.out.println(this.f3());//[14]:47
	}
	
	int f3(){
		int i = 1 + 3 * 4 - 4 / 2;
        System.out.println(i);//[10]:11  //[15]:11
		int j = 3 * 4 -2;
        System.out.println(j);//[11]:10  //[16]:10
		i = 1 + j * 4 - i;
        System.out.println(i);//[12]:30  //[17]:30
		j = 3 - i / 3 - j;
        System.out.println(j);//[13]:-17 //[18]:-17
		return i - j;
	}
}